﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using AccesoDatos.Manejador;
using AccesoDatos.Objetos;
using Conexion;
using System.Windows.Forms;
/*Lista de incapacidades por sucursal.
 * 
 
 */
namespace Autorizacion_facturas_caja
{
    public partial class frmIncapacidades_Sucursales : Form
    {
        objPrestamos objP = new objPrestamos();
        objRH objR = new objRH();
        objIncapacidades objI = new objIncapacidades();
        Manejador_Empleado_Captura Mane = new Manejador_Empleado_Captura();
        Manejador_Incapacidades Man = new Manejador_Incapacidades();
        DateTime Fecha_Hoy = DateTime.Today;
        public frmIncapacidades_Sucursales()
        {
            InitializeComponent();
            ObtieneDatosCombo();
            Fecha_Hoy = Fecha_Hoy.AddDays(-15);
            dteFechaInicio.Text = Fecha_Hoy.ToShortDateString();
            ToolTip1();
           
        }
        #region Funciones
        private void llenaDataGrid() {
            obtenerDatos();
            dataGridView1.DataSource = Man.ListaIncapacitacion_Sucursal(objR.Buscar, objR.SucId, objI.Tipo, objI.Estado, objI.Fecha1, objI.Fecha2);
            propiedadesColumnas();
        }
        private void propiedadesColumnas()
        {
            try
            {
                //Quita la primera Columna
                this.dataGridView1.RowHeadersVisible = false;

                //Oculta las columnas
                this.dataGridView1.Columns["id_empleado"].Visible = false;
                this.dataGridView1.Columns["id_sucursal"].Visible = false;
                this.dataGridView1.Columns["id_jefe"].Visible = false;
                this.dataGridView1.Columns["nombre"].Visible = false;
                this.dataGridView1.Columns["apellidos"].Visible = false;
                this.dataGridView1.Columns["estatus"].Visible = false;
                this.dataGridView1.Columns["cuenta_banco"].Visible = false;
                this.dataGridView1.Columns["id_incapacidad"].Visible = false;
                this.dataGridView1.Columns["id_empleado1"].Visible = false;
                this.dataGridView1.Columns["comentarios"].Visible = false;
                this.dataGridView1.Columns["estatus1"].Visible = false;
                this.dataGridView1.Columns["fecha_ingreso"].Visible = false;
                this.dataGridView1.Columns["estado"].Visible = false;
                this.dataGridView1.Columns["id_enlace"].Visible = false;
                this.dataGridView1.Columns["hora"].Visible = false;
                this.dataGridView1.Columns["pagar"].Visible = false;
                this.dataGridView1.Columns["porciento"].Visible = false;
                this.dataGridView1.Columns["empresa"].Visible = false;
                //Orden columnas
                this.dataGridView1.Columns["Nombre_apellidos"].DisplayIndex = 0;
                this.dataGridView1.Columns["departamento"].DisplayIndex = 1;
                this.dataGridView1.Columns["puesto"].DisplayIndex = 2;
                this.dataGridView1.Columns["tipo"].DisplayIndex = 4;
                this.dataGridView1.Columns["folio"].DisplayIndex = 5;
                this.dataGridView1.Columns["fecha_inicio"].DisplayIndex = 6;
                this.dataGridView1.Columns["fecha_fin"].DisplayIndex = 7;
                this.dataGridView1.Columns["dias"].DisplayIndex = 8;

                //Renombra
                this.dataGridView1.Columns["Nombre_apellidos"].HeaderText = "EMPLEADO";
                this.dataGridView1.Columns["departamento"].HeaderText = "DEPARTAMENTO";
                this.dataGridView1.Columns["puesto"].HeaderText = "PUESTO";
                this.dataGridView1.Columns["tipo"].HeaderText = "TIPO";
                this.dataGridView1.Columns["fecha_inicio"].HeaderText = "FECHA INICIO";
                this.dataGridView1.Columns["fecha_fin"].HeaderText = "FECHA FIN";
                this.dataGridView1.Columns["dias"].HeaderText = "DÍAS";
                this.dataGridView1.Columns["folio"].HeaderText = "FOLIO";

                //Alinea el contenido de la celda

                this.dataGridView1.Columns["departamento"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
                this.dataGridView1.Columns["puesto"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
            }
            catch { }
        }
        
        private void obtenerDatos() 
        {
            try
            {
                objR.SucId = cmbSucursal.SelectedValue.ToString();
                objR.Buscar = txtEmpleado.Text.Trim();
                objI.Tipo = cmbTipo.Text;
                objI.Estado = cmbEstado.Text;
                objI.Fecha1 = dteFechaInicio.Value;
                objI.Fecha2 = dteFechaFin.Value;
                objR.Nombre_Sucursal = cmbSucursal.Text;
            }
            catch { }
        }
        private void ToolTip1()
        {

            ToolTip toolTip1 = new ToolTip();
            toolTip1.ShowAlways = true;
            toolTip1.SetToolTip(this.btnBuscar, "BUSCAR");
            toolTip1.SetToolTip(this.btnInforme, "GENERAR REPORTE");
            toolTip1.SetToolTip(this.btnSalir, "REGRESAR");

        }
        private void ObtieneDatosCombo()
        {
            //Obtiene los datos de la tabla cat_sucursales al combo de sucursales
            cmbSucursal.DataSource = Mane.ObtieneSucursales();
            cmbSucursal.ValueMember = "SucId";
            cmbSucursal.DisplayMember = "Nombre";
        }
#endregion
        #region  Botones

        private void btnBuscar_Click(object sender, EventArgs e)
        {
            try
            {
                llenaDataGrid();
            }
            catch { MessageBox.Show("SELECCIONE LOS ATRIBUTOS PARA LA BUSQUEDA","ALERTA"); }
        }

        private void btnInforme_Click(object sender, EventArgs e)
        {
            try
            {
                obtenerDatos();
                DataTable data = Man.ListaIncapacitacion_Sucursal(objR.Buscar, objR.SucId, objI.Tipo, objI.Estado, objI.Fecha1, objI.Fecha2);

                frmIncapacidades_Reportes frm = new frmIncapacidades_Reportes(2, objI, objR, data);
                frm.ShowDialog();
            }
            catch { }
        }

        private void btnSalir_Click(object sender, EventArgs e)
        {
            Close();
        }
        #endregion

        #region eventos
        private void cmbSucursal_SelectedIndexChanged(object sender, EventArgs e)
        {
            llenaDataGrid();
        }

        private void cmbEstado_SelectedIndexChanged(object sender, EventArgs e)
        {
            llenaDataGrid();
        }

        private void cmbTipo_SelectedIndexChanged(object sender, EventArgs e)
        {
            llenaDataGrid();
        }

        private void dteFechaInicio_ValueChanged(object sender, EventArgs e)
        {
            llenaDataGrid();
        }

        private void dteFechaFin_ValueChanged(object sender, EventArgs e)
        {
            llenaDataGrid();
        }

        private void txtEmpleado_TextChanged(object sender, EventArgs e)
        {
            llenaDataGrid();
        }
        #endregion

    }
}
